package jvm.c2_classloader;

/*
* java既可以是解释型语言也可以是编译型语言
* 解释器：interpreter
* JIT：即时编译器
* 混合模式：
*    解释器+热点代码编译
*    起始阶段采用解释执行
*    热点代码检测：-XX:CompileThreshold = 10000
*        多次被调用的方法（方法计数器：监测方法执行频率）
*        多次被调用的循环（循环计数器：检测循环执行频率）
*    进行编译
*
*    -Xmixed 默认的混合模式，开始解释执行，启动速度较快，对热点代码实行检测和编译
*    -Xint 解释模式，启动快，执行慢
*    -Xcomp 使用纯编译模式，执行快但是启动慢
* */
public class T009_WayToRun {
    public static void main(String[] args) {
        for(int i=0; i<10_0000; i++)
            m();

        long start = System.currentTimeMillis();
        for(int i=0; i<10_0000; i++) {
            m();
        }
        long end = System.currentTimeMillis();
        System.out.println(end - start);
    }

    public static void m() {
        for(long i=0; i<10_0000L; i++) {
            long j = i%3;
        }
    }
}
